package com.ssy.lingxi.dto.request;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.io.Serializable;

/**
 * 新增结算请款请求VO
 * @author 伍将
 * @date 2021/3/24
 * @version 2.0.0
 */
public class AddSettlementApplyAmountVO implements Serializable {

    private static final long serialVersionUID = 6069810192907805718L;
    /**
     * 结算会员id
     */
    @NotNull(message = "结算会员id不能为空")
    @Positive(message = "结算会员id不能为空")
    private Long memberId;

    /**
     * 结算角色id
     */
    @NotNull(message = "结算角色id不能为空")
    @Positive(message = "结算角色id不能为空")
    private Long roleId;

    /**
     * 结算方
     */
    @NotBlank(message = "结算方不能为空")
    private String settlementName;

    /**
     * 付款会员id
     */
    @NotNull(message = "付款会员id不能为空")
    @Positive(message = "付款会员id不能为空")
    private Long payMemberId;

    /**
     * 付款角色id
     */
    @NotNull(message = "付款角色id不能为空")
    @Positive(message = "付款角色id不能为空")
    private Long payRoleId;

    /**
     * 支付方
     */
    @NotBlank(message = "支付方不能为空")
    private String payName;

    /**
     * 结算方式:1.账期 2.月结
     */
    @NotNull(message = "结算方式不能为空")
    @Positive(message = "结算方式不能为空")
    private Integer settlementWay;

    /**
     * 总单数
     */
    @NotNull(message = "总单数不能为空")
    private Long totalCount;

    /**
     * 结算金额
     */
    @NotNull(message = "结算金额不能为空")
    private Double amount;

    /**
     * 预付款时间
     */
    @NotNull(message = "预付款时间不能为空")
    @Positive(message = "预付款时间不能为空")
    private Long prePayTime;

    /**
     * 单据id
     */
    @NotNull(message = "单据id不能为空")
    @Positive(message = "单据id不能为空")
    private Long orderId;

    /**
     * 单据号
     */
    @NotBlank(message = "单据号不能为空")
    private String orderNo;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public String getSettlementName() {
        return settlementName;
    }

    public void setSettlementName(String settlementName) {
        this.settlementName = settlementName;
    }

    public Long getPayMemberId() {
        return payMemberId;
    }

    public void setPayMemberId(Long payMemberId) {
        this.payMemberId = payMemberId;
    }

    public Long getPayRoleId() {
        return payRoleId;
    }

    public void setPayRoleId(Long payRoleId) {
        this.payRoleId = payRoleId;
    }

    public String getPayName() {
        return payName;
    }

    public void setPayName(String payName) {
        this.payName = payName;
    }

    public Integer getSettlementWay() {
        return settlementWay;
    }

    public void setSettlementWay(Integer settlementWay) {
        this.settlementWay = settlementWay;
    }

    public Long getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Long totalCount) {
        this.totalCount = totalCount;
    }

    public Double getAmount() {
        return amount;
    }

    public void setAmount(Double amount) {
        this.amount = amount;
    }

    public Long getPrePayTime() {
        return prePayTime;
    }

    public void setPrePayTime(Long prePayTime) {
        this.prePayTime = prePayTime;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
}
